Telegram Group & Telegram Channel
Как вы используете трансляцию(broadcasting) в Laravel?

Laravel обеспечивает трансляцию событий в реальном времени с помощью каналов и слушателей. Вот как использовать трансляцию в Laravel:

Шаг 1: Создайте событие

Создайте событие, которое должно транслироваться. Вы можете создать событие, выполнив следующую команду в терминале:

php artisan make:event OrderShipped

Эта команда создаст новое событие класса OrderShipped.

Шаг 2: Зарегистрируйте событие в EventServiceProvider

Добавьте событие OrderShipped в свойство $listen в EventServiceProvider. Это позволит транслировать событие на указанный канал(ы).
protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Шаг 3: Создайте канал

Создайте канал, который будет транслировать событие желаемым слушателям. Вы можете создать канал, выполнив следующую команду:

php artisan make:channel OrderChannel

Эта команда создаст новый канал класса OrderChannel.

Шаг 4: Трансляция события

Транслируйте событие OrderShipped на нужный канал (каналы) с помощью метода broadcast.
use App\Events\OrderShipped;

broadcast(new OrderShipped($order))->toOthers();


Это позволит транслировать событие OrderShipped всем другим подключенным клиентам на указанном канале.

Прослушивание транслируемых событий

Чтобы прослушивать транслируемые события, необходимо создать слушателя, который будет получать транслируемое событие. Вот как создать слушателя:

Шаг 1: Создание слушателя

Создайте слушатель, который будет обрабатывать транслируемое событие. Вы можете создать слушателя, выполнив следующую команду:


php artisan make:listener SendShipmentNotification

Эта команда создаст новый класс слушателя SendShipmentNotification.

Шаг 2: Реализация метода Handle

Реализуйте метод handle, чтобы определить, что должно быть сделано при передаче события.

public function handle(OrderShipped $event)
{
// Отправляем уведомление об отгрузке покупателю
}


Шаг 3: Регистрация слушателя

Зарегистрируйте слушатель SendShipmentNotification в свойстве $listen в EventServiceProvider.

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Трансляция с помощью Socket.IO

Laravel предоставляет драйвер вещания Socket.IO из коробки. Чтобы использовать этот драйвер, необходимо установить пакеты socket.io-client и laravel-echo.


npm install --save socket.io-client laravel-echo

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

import Echo from 'laravel-echo'

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});


Теперь вы можете использовать объект Echo для прослушивания транслируемых событий.

window.Echo.channel('orders')
.listen('.order.shipped', function(data) {
console.log('Заказ отправлен', data);
});

Это позволит прослушать событие order.shipped на канале orders и вывести данные в консоль при получении события.

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.



tg-me.com/php_interview_lib/828
Create:
Last Update:

Как вы используете трансляцию(broadcasting) в Laravel?

Laravel обеспечивает трансляцию событий в реальном времени с помощью каналов и слушателей. Вот как использовать трансляцию в Laravel:

Шаг 1: Создайте событие

Создайте событие, которое должно транслироваться. Вы можете создать событие, выполнив следующую команду в терминале:

php artisan make:event OrderShipped

Эта команда создаст новое событие класса OrderShipped.

Шаг 2: Зарегистрируйте событие в EventServiceProvider

Добавьте событие OrderShipped в свойство $listen в EventServiceProvider. Это позволит транслировать событие на указанный канал(ы).

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Шаг 3: Создайте канал

Создайте канал, который будет транслировать событие желаемым слушателям. Вы можете создать канал, выполнив следующую команду:

php artisan make:channel OrderChannel

Эта команда создаст новый канал класса OrderChannel.

Шаг 4: Трансляция события

Транслируйте событие OrderShipped на нужный канал (каналы) с помощью метода broadcast.
use App\Events\OrderShipped;

broadcast(new OrderShipped($order))->toOthers();


Это позволит транслировать событие OrderShipped всем другим подключенным клиентам на указанном канале.

Прослушивание транслируемых событий

Чтобы прослушивать транслируемые события, необходимо создать слушателя, который будет получать транслируемое событие. Вот как создать слушателя:

Шаг 1: Создание слушателя

Создайте слушатель, который будет обрабатывать транслируемое событие. Вы можете создать слушателя, выполнив следующую команду:


php artisan make:listener SendShipmentNotification

Эта команда создаст новый класс слушателя SendShipmentNotification.

Шаг 2: Реализация метода Handle

Реализуйте метод handle, чтобы определить, что должно быть сделано при передаче события.

public function handle(OrderShipped $event)
{
// Отправляем уведомление об отгрузке покупателю
}


Шаг 3: Регистрация слушателя

Зарегистрируйте слушатель SendShipmentNotification в свойстве $listen в EventServiceProvider.

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Трансляция с помощью Socket.IO

Laravel предоставляет драйвер вещания Socket.IO из коробки. Чтобы использовать этот драйвер, необходимо установить пакеты socket.io-client и laravel-echo.


npm install --save socket.io-client laravel-echo

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

import Echo from 'laravel-echo'

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});


Теперь вы можете использовать объект Echo для прослушивания транслируемых событий.

window.Echo.channel('orders')
.listen('.order.shipped', function(data) {
console.log('Заказ отправлен', data);
});

Это позволит прослушать событие order.shipped на канале orders и вывести данные в консоль при получении события.

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

BY Библиотека собеса по PHP | вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/php_interview_lib/828

View MORE
Open in Telegram


Библиотека собеса по PHP | вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Why Telegram?

Telegram has no known backdoors and, even though it is come in for criticism for using proprietary encryption methods instead of open-source ones, those have yet to be compromised. While no messaging app can guarantee a 100% impermeable defense against determined attackers, Telegram is vulnerabilities are few and either theoretical or based on spoof files fooling users into actively enabling an attack.

The S&P 500 slumped 1.8% on Monday and Tuesday, thanks to China Evergrande, the Chinese property company that looks like it is ready to default on its more-than $300 billion in debt. Cries of the next Lehman Brothers—or maybe the next Silverado?—echoed through the canyons of Wall Street as investors prepared for the worst.

Библиотека собеса по PHP | вопросы с собеседований from cn


Telegram Библиотека собеса по PHP | вопросы с собеседований
FROM USA